package com.quick.DP.ObserverPattern;

public class WeatherDemo {
    public static void main(String[] args) {
        WeatherStation station = new WeatherStation();
        
        DisplayDevice device1 = new DisplayDevice();
        DisplayDevice device2 = new DisplayDevice();
        MobileApp app = new MobileApp();
        
        // 注册观察者
        station.registerObserver(device1);
        station.registerObserver(device2);
        station.registerObserver(app);
        
        // 温度变化
        station.setTemperature(25.5f);
        // 输出:
        // 显示屏: 当前温度 25.5°C
        // 显示屏: 当前温度 25.5°C
        // 手机APP推送: 温度已更新为 25.5°C
        
        // 移除一个观察者
        station.removeObserver(device2);
        
        // 再次温度变化
        station.setTemperature(26.0f);
        // 输出:
        // 显示屏: 当前温度 26.0°C
        // 手机APP推送: 温度已更新为 26.0°C
    }
}